home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-10-28 | 80.8 KB | 2,564 lines |
- >>> STARTING RAID <<<
-
-
-
-
-
- RAID is started the same way as DEBUG. Type RAID followed by
- an optional program name followed by optional arguments. The only
- difference between RAID and DEBUG command lines is that the file
- extension must be specified.
-
-
- To run RAID enter:
-
- RAID
-
-
- To debug foo.com enter:
-
- RAID FOO.COM
-
-
- To debug myfile.exe with apple as an argument enter:
-
- RAID MYFILE.EXE APPLE
-
-
-
- If a file is found with the same name as the program to be
- debugged with a .SYM extension it is automatically loaded into
- the symbol table.
-
-
- Raid may be loaded resident so it may be used anytime. To
- call up raid after it's been loaded resident and exited use the
- <5> key on the numeric pad without numlock. Note: When raid is
- resident it keeps interrupts 0, 1, 3, 6, 8, 9, 20, 21, 22, 23,
- and 24 vectored to itself. Avoid running programs that also trap
- these. There will also be about a 48k reduction in free ram.
-
-
- To load RAID resident enter:
-
- RAID +R
-
- Note: A filename and arguments may follow the +r.
- .pa
- >>> Commands <<<
-
-
-
-
-
- Raid commands are available after typing <F1>. Several
- commands that are commonly used are definded as control and
- function keys. The function and control key definitions are in
- the command summary section.
-
- Commands are selected using a nested tree structure. The
- escape key will remove you from the command tree. Or if not in
- the command tree will display the function key settings on the
- second display line.
-
- Once the <F1> has been depressed the first display line will
- show a list of subjects. The second line will show all the
- subject's options. To select a different subject use the cursor
- keys or the space bar. Once the subject wanted is highlighted
- press the return key. If the selection is already know simply
- enter the first letter of the subject. This may go on for many
- levels until a specific command is reached. At this point the
- second line will display a brief description of what action will
- take place.
-
- Some commands require data from the user. In this case the
- user will be prompted on the first line with the description on
- the second line of the display. After the prompt arguments are
- entered they must be followed by a return. Commands that require
- multiple arguments must have arguments seperated by a space or
- comma.
-
- .pa
- >>> WINDOWS <<<
-
-
-
-
-
- Raid uses windows for viewing and modifing various data. The
- windows are named BREAKPOINT, CPU, DATA, PROGRAM, STACK, SYMBOLS,
- and 6301. Only one window may be active at a time. To change from
- window to window use the <F4> key. To go directly to a window use
- the following:
-
- <F1> W C B -or- CTRL-B for BREAKPOINT
- <F1> W C C -or- CTRL-C for CPU
- <F1> W C D -or- CTRL-D for DATA
- <F1> W C P -or- CTRL-P for PROGRAM
- <F1> W C S -or- CTRL-S for STACK
- <F1> P S L for SYMBOL
- <F1> W C 6 -or- CTRL-P <F4> for 6301
-
-
-
- When a window is active the window name is highlighted in
- reverse video. The current item in the window is also highlighted
- in reverse video. To change the current selected item use the
- cursor keys. To scroll the window a line at a time use the cursor
- keys. To scroll the window a page at a time use the PgUp and PgDn
- keys.
-
-
-
- To set the window orgin address (start address of window) to
- a desired value enter the value followed by the <F2> key. The
- orgin may also be changed by the <F1> W A command.
-
-
-
- To change from data or text in the DATA window use the <F3>
- key. Or to change the stack direction in the STACK window use the
- <F3> key. In all other windows <F3> will be ignored.
-
-
-
- To change data in a window simply type the new data and
- press the return key.
-
-
-
- Raid displays all windows on one screen except the symbol
- window. The SYMBOL window requires a screen of it's own. When
- viewing the SYMBOL window as escape key will return you to the
- others. The 6301 window will be available only if the computer
- model is a KAYPRO 2000 (The Flexy).
-
-
- BREAKPOINT window:
-
- The breakpoint window displays the status and setting
- of the permanet breakpoints. It also allows the setting of
- breakpoints. The breakpoints are numbered 0: thru 9:.
-
- The breakpoint viewed in the window may be selected by
- entering the breakpoint number and pressing <F2> or
- with the <F1> W A command. To scroll thru the breakpoints
- use the PgUp and PgDn or cursor keys.
-
- If a 'D' follows the breakpoint number the breakpoint
- is disabled. The address, count, type and condition of the
- breakpoint is also displayed. If the breakpoint is not
- assigned then 'CLEAR' is displayed in the window.
-
- The address is displayed as segment:offset. The count
- is displayed as a word hex value. Count of 1 means break on
- the first time. The type is displayed as 'Stop', 'Enable
- #', 'Disable #', or 'Call segment:offset'. The condition is
- displayed as it was entered. (Such as AX<>0).
-
- When a breakpoint is encountered the BREAKPOINT window
- will select that breakpoint. For example if breakpoint 7 is
- used then the window will display breakpoint 7. Breakpoints
- reached in a programs or breakpoint numbers used in commands
- will cause this action.
-
- To set a breakpoint enter the specification followed by
- return. (See BREAKPOINT section for more information).
-
-
- .pa
- CPU window:
-
- The CPU window displays all machine registers and
- flags. To change the value position the current item over
- the register or flag value to be changed, enter the
- expression to be placed and press return.
-
- Values entered in the flags must be 0 or 1. Since
- conditional expressions generate these they can be used to
- set flags. For example: AX<>CX would set a flag if AX was
- not equal to CX, else if they were equal the flag would be
- reset. Expressions can also generate 0 or 1 and can even be
- used to copy flags. For example: FLC&FLI would set a flag if
- the carry and interrupt flags were on, else the flag would
- be reset. If values other than 0 and 1 are attempted an
- error is issued.
-
- The CPU window will not accept an orgin address or
- scroll. If an attempt is made to move the item out of the
- window wraparound will occur. Scroll keys are ignored. An
- attempt to set an orgin address will result in an error.
- .pa
- DATA window:
-
- The DATA window displays 40 bytes of memory in a
- specified format and the ascii text. If the ascii character
- cannot be displayed then a diamond is displayed insted. The
- format of the data displayed defaults to bytes. This can be
- changed by using the following commands:
-
-
- <F1> F D A Display data in address form.
-
- <F1> F D B Display data in byte form.
-
- <F1> F D L Display data in long form.
-
- <F1> F D W Display data in word form.
-
-
- Data entry may be done in hexadecimal (addresses,
- bytes, long, or words) or ascii. To change from one to the
- other use the <F3> key. In either mode to select an item to
- be changed position the highlight over it. Then if using the
- ascii mode enter the ascii characters to be stored followed
- by a return. If using the hexadecimal mode enter a list of
- Addresses, bytes, long intergers, or words. A list is
- defined as one or more expressions seperated by commas or
- spaces followed by a return.
-
-
- List examples:
-
- Address format: cs:145,2378,1256:76c9
-
- Byte format: 12,d4,'a','b',12*3,al,{si}
-
- Long format: 1234:5678 (Means 12345678)
- Long intergers must be entered in
- address form.
-
- Word format: 1234,'sd','a',132*4,ax,[es:bx]
-
-
- As things in memory change the DATA window will
- reflect the change real time. For example set the DATA
- window address to 40:40 and watch the timer tic. When
- setting the DATA window to the video display area the screen
- will look very 'noisy'. This is from the video ram being
- access during the trace and is normal.
-
- On a break the DATA window will show DS:0. When
- specifing a new address for the DATA window if the segment
- is omitted DS will be assumed.
-
- .pa
- PROGRAM window:
-
- The program window displays the disassembled program
- and allows inline assembly. To change an item in the program
- window position the highlight over the instruction to
- change. Then enter the new assemble instruction followed by
- a return.
-
- Instructions that are 'abnormal' will be shown in
- brown. Instructions that are breakpoint will be shown in
- blue. Symbolic labels will be shown in red and followed by a
- colon. An arrow preceding the address means this instruction
- will be executed next (Instruction Pointer). An asterisks
- following the address means this is a temporary breakpoint.
-
- When an instruction that references memory is
- highlighted the effective address and contents is displayed
- on the second line.
-
- When the size of an operand is not obvious the
- disassembler will use 'BYTE PTR' and 'WORD PTR' prefixs. The
- assembler accepts these prefixs. If the operand size is not
- obvious and a prefix is not used 'BYTE PTR' is assumed. When
- immediates are used 2 hexadecimal digits refer to a byte
- while four refer to a word.
-
- Segment overides are disassembled on a seperate line
- and must be entered as such with the assembler.
-
- The mnemonic for a far return is RETF. Jump
- instructions are coded SHORT, NEAR, and FAR automatically
- but may be overode using SHORT, NEAR, or FAR prefixes.
-
- String instructions must specify the size in the
- mnemonic. MOVS cannot be used, MOVSB for byte or MOVSW for
- word can.
-
- Addresses (even symbolic ones) are always displayed in
- brackets. The assembler expects this syntax. If an address
- is not placed in brackets it will be interpeted as an
- immediate value by the parser.
-
- All opcode synonyms are supported by the assembler. The
- disassembler however will chose which one to use. The
- disassembler uses the following: SHL, REPNZ, REPZ, LOOPZ,
- LOOPNZ, JO, JNO, JC, JNC, JZ, JNZ, JBE, JA, JS, JNS, JP,
- JNP, JL, JGE, and JLE.
-
- The exchange AX with AX instruction is assembled and
- disassembled as NOP. Of course XCHG AX,AX will also
- assemble as NOP.
-
- Undefined instructions will disassemble as DB or DW
- depending if 1 or 2 bytes are invalid.
-
- The following mnemonics are recognized by Raid:
-
-
-
- >>>>> Instructions <<<<<
-
-
- AAA AAD AAM AAS ADC
- ADD AND CALL CBW CLC
- CLD CLI CMC CMP CMPSB
- CMPSW CWD DAA DAS DEC
- DIV ESC HLT IDIV IMUL
- IN INC INT INTO IRET
- JA JAE JB JBE JC
- JCXZ JE JG JGE JL
- JLE JMP JNA JNAE JNB
- JNBE JNC JNE JNL JNLE
- JNG JNGE JNO JNP JNS
- JNZ JO JP JPE JPO
- JS JZ LAHF LDS LEA
- LES LOCK LODSB LODSW LOOPE
- LOOPNE LOOPNZ LOOPZ MOV MOVSB
- MOVSW MUL NEG NOP NOT
- OR OUT POP POPF PUSH
- PUSHF RCL RCR REPE REPNE
- REPNZ REPZ RET RETF ROL
- ROR SAHF SAL SAR SBB
- SCASB SCASW SHL SHR STC
- STD STI STOSB STOSW SUB
- TEST WAIT XCHG XLAT XOR
-
-
-
- >>>>> Segment overides <<<<<
-
-
- CS: DS: ES: SS:
-
-
-
- >>>>> Registers <<<<<
-
-
- AX, BX, CX, DX, BP, DI, SI, SP, SS, CS, DS, ES
- AH, AL, BH, BL, CH, CL, DH, DL
-
-
-
- >>>>> Prefixes <<<<<
-
-
- SHORT, NEAR, FAR, BYTE PTR, WORD PTR
-
-
-
- The radix of immediate values disassembled may be
- changed by the <F1> F R x commands where x refers to the
- radix. Binary, decimal, hexadecimal, or octal may be
- selected. The following shows each command:
-
- <F1> F R B Display in binary
-
- <F1> F R D Display in decimal
-
- <F1> F R H Display in hexadecimal
-
- <F1> F R O Display in octal
-
-
- Symbol types are looked at during disassemble.
- Symbols defined as byte will be disassembled (For the symbol
- length) as DBs. Symbols defined as constants will replace
- any immediate value. Symbol defined as labels or addresses
- will replace any reference or address.
-
- Disassemble to disk can be done using the <F1> D D
- command. (See Disk section).
-
- The CTRL-N key will set the Instruction Pointer to
- the current selected item in the PROGRAM window.
- .pa
- STACK window:
-
- The STACK window displays the contents of the stack and
- allows changes to the stack contents. To change a stack
- value position the highlight over the item to change, enter
- the new value and press return.
-
- The stack order may be reversed by using the <F3> key.
- From incrementing to decrementing and vice versa.
-
- An arrow before the address indicates the stack pointer.
-
- The stack upon a program break starts at SS:SP.
-
- The stack window could be used as another data window
- for words only but on a program break will return to a stack
- display. To do this use <F1> W A or <F2>, the <F3> key also
- so the addresses are incrementing.
- .pa
- >>> EXPRESSIONS <<<
-
-
-
-
-
-
- Raid values may be entered as hexadecimal values or as
- expressions. Expressions contain operands and operators. Operands
- may be constants(binary, decimal, hexadecimal, or octal), machine
- register mnemonics, machine flag mnemonics, memory contents (byte
- or word), quoted characters, or symbols. Operators are unary,
- conditional, arithmetic, or logical.
-
-
-
- Expressions may be evaluated by the <F1> E command followed
- by the expression to evaluate. The expression may also be
- evaluated if followed by the <F8> key. The evaluated expression
- is displayed on the 2nd display line in binary, decimal, octal,
- and hexadecimal.
-
-
-
- Conditional expressions are helpful in breaking a program
- under a certain circumstance. For example break if ds:[123]
- changed, or when the carry flag goes on, ect...
-
-
-
- Nesting of parenthesis may be done. They may be nested 16
- levels deep. Expression are processed left to right so
- parenthesis are often needed. If the parenthesis mismatch then an
- error will be issued.
-
-
-
- Division by zero is not allowed. If this occurs an error
- will be issued. If a division by zero is done in a running
- program it will be trapped by Raid and an error issued.
-
-
-
- Examples of expressions:
-
- AX
-
- SI+BX/7
-
- 123*(BX/3)
-
- FLC|FLO=0
-
- [DS:BX+SI-18]<>SYMBOL
-
- Unary operators:
-
- + Positive
- - Negitive (2's complement)
- ~ Complement (1's complement)
-
-
-
- Conditional operators:
-
- = Equal to
- <> Not equal to
- > Greater than
- < Less than
- >= Greater than or equal to / Not less than
- <= Less than or equal to / Not greater than
-
-
-
- Arithmetic operators:
-
- + Addition
- - Subtraction
- * Multiplication
- / Division
- % Remainer
-
-
-
- Logical operators:
-
- & And
- | Or
- \< Shift left
- \> Shift Right
- () Precedence
-
-
-
- Notes:
-
- Using operator combinations many useful functions can
- be derived. Operators may be mixed in any fashion. The
- following would be used to complete the boolean functions:
-
-
- NAND ~(<opr1>&<opr2>)
-
- NOR ~(<opr1>|<opr2>)
-
- EXOR ~((<opr1>&<opr2>)|~(<opr1>|<opr2>))
-
- EXNOR (<opr1>&<opr2>)|~(<opr1>|<opr2>)
-
-
- Hexadecimal constants:
-
- Hexadecimal constants may be entered as is without
- a leading zero even if the leading digit is between
- 'a' and 'f'. This can be troblesom if a symbol for
- example is named 'face'. In this case 0face would be
- used for a constant and face for the symbol. Entering
- long constants (double words) must be done as entering
- an address. For example 12345678 would be entered as
- 1234:5678.
-
-
-
- Binary constants:
-
- Binary constants must be preceeded by a '^B'. For
- example ^B1101 would enter 0dh.
-
-
-
- Decimal constants:
-
- Decimal constants must be preceeded by a '^D'. For
- example ^D13 would enter 0dh.
-
-
-
- Octal constants:
-
- Octal constants must be preceeded by a '^O'. For
- example ^O15 would enter 0dh.
-
-
-
- Machine register mnemonics:
-
- All 16 bit registers are supported:
-
- AX, BX, CX, DX, SI, DI, BP, SP
-
- All segments registers are supported:
-
- CS, DS, ES, SS
-
- Control registers are supported:
-
- IP and FL
- (Instruction Pointer and FLag register)
-
- All 8 bit registers are supported:
-
- AL, AH, BL, BH, CL, CH, DL, DH
-
-
-
- Machine flag mnemonics:
-
- FLT Trap flag
- FLA Aux carry flag
- FLC Carry flag
- FLP Parity flag
- FLS Sign flag
- FLZ Zero flag
- FLD Direction flag
- FLI Interrupt flag
- FLO Overflow flag
-
-
-
- Quoted characters:
-
- ASCII values may be specified in quotes. Single
- quotes may be placed in double quotes and vice versa.
- If 2 charaters are specifed for a word they will be
- reversed (as normal) when hi/lo bytes are stored.
-
-
-
- Memory contents:
-
- The contents of memory locations are specified by
- placing the address in brakets(for word values) or
- braces(for byte values). The address may use
- expressions. If the address segment is omitted then the
- data segment value is used.
-
- {1234} ;Byte at DS:[1234]
-
- {es:bx+si} ;Byte at ES:[BX+SI]
-
- [ss:34] ;Word at SS:[34]
-
-
-
- Symbols:
-
- Symbols are used as addresses when placed in
- brakets or braces unless the symbol is defined as a
- constant. If this occurs then ds: is used for the
- segment and the constant value as the offset. When
- symbols are used as constants and not defined as such
- then the symbols offset is used. Symbol names are not
- restricted so care must be taken not to define a symbol
- as a cpu register mnemonic, ect... Also if a symbol is
- defined as a hexadecimal number then a leading zero
- must be used to distingish the two (See Hexadecimal
- numbers).
-
-
-
- Conditional expressions:
-
- A condition is said to be true if it equates to not
- zero. When using conditional operators they return
- zero if false or one if true.
-
-
- FLC True if carry flag is set
-
- AX True if AX <> 0
-
- [SI]=123 True if word at ds:[si] = 0123
-
- FLA|FLC True if aux carry or carry set
-
- FLA&FLC True if aux carry and carry set
-
-
-
- Notes:
-
- Logical operations can be used in math or
- relations.
-
- ((AX&8000h)=0)&FLO
-
- The above is true if AX sign bit is off and the
- overflow flag is set.
- .pa
-
- >>> BREAKPOINT <<<
-
-
-
-
-
- Raid has extremly powerful breakpoint facilitys. There are
- up to ten permanent breakpoints and up to ten temporary
- breakpoints. The temporary breakpoints are used simply to stop
- the program at a given point. The permanent breakpoints allow a
- user to select what condition the break should be taken and what
- action should be done. Such as stop the program when the carry
- flag is set at point cs:1245.
-
- Once a breakpoint is taken all the temporary breakpoints are
- removed. (That's why there called temporary).
-
- Once a permanent breakpoint is taken it is disabled so
- execution may continue. Disabled means all the breakpoint
- specifications are 'remembered' but the breakpoint is not active.
-
- To enable a permanent breakpoint once disabled use the <F1>
- B E command. To disable a permanent breakpoint use the <F1> B D
- command.
-
- Temporary breakpoints are set by positioning the item in the
- program window to the instruction where the breakpoint should be
- set. Then issue a <F1> B T command or press <F10>. Temporary
- breakpoints are flaged in the program window by an asterisks (*)
- following the address. If a temporary breakpoint needs to be
- removed do the same. These commands toggle the breakpoint not set
- it.
-
- To set a permanent breakpoint the <F1> B S command or
- selecting the BREAKPOINT window may be used.
-
- To clear a permanent breakpoint use the <F1> B C command. To
- clear all permanent breakpoints use the <F1> B I command.
-
- Permanent breakpoints may have a count specified. This means
- the breakpoint will not be active until executed count times. The
- default count is 1 (The first time).
-
- Permanent breakpoints may be conditional. A condition given
- to a breakpoint must be true for the breakpoint to break. (See
- conditional expressions in the expressions section).
-
- Permanent breakpoints have an action specified. The default
- action is STOP. Other functions are ENABLE another breakpoint,
- DISABLE another breakpoint, or CALL a user routine.
-
- The user routine for permanent breakpoints should end with
- an IRET instruction.
-
-
- <F1> Breakpoint Clear command:
-
- The <F1> B C command removes a permanent breakpoint.
- Breakpoints can be disabled without removal with the <F1> B
- D command. To clear(remove) all permanent breakpoints use
- the <F1> B I command.
-
- The user will be prompted:
-
- 'Enter breakpoint number to clear:'
-
- The response must be a valid breakpoint number (0 thru
- 9). If not no action will occur and an error will be issued.
-
-
-
- <F1> Breakpoint Disable All command:
-
- The <F1> B D A command will disable all permanent
- breakpoints. They will remain inactive until enabled
- with <F1> B E command. Note: Breakpoints can also be enabled
- by other breakpoints. Disabled breakpoints are flaged in the
- BREAKPOINT window by a 'D' following the breakpoint number.
-
-
-
- <F1> Breakpoint Disable Single command:
-
- The <F1> B D S command will disable one permanent
- breakpoint. The breakpoint will remain inactive until a <F1>
- B E command is issued or another breakpoint enables it. A
- 'D' will be shown in the BREAKPOINT window following the
- breakpoint number to indicate it's disabled.
-
- The user will be prompted:
-
- 'Enter breakpoint number to disable:'
-
- The response must be a valid breakpoint number (0 thru
- 9). If not no action will occur and an error will be issued.
-
-
-
- <F1> Breakpoint Enable All command:
-
- The <F1> B E A command will enable all permanent
- breakpoints. To disable a breakpoint use the <F1> B D
- command. To enable specific breakpoints use the <F1> B E S
- command.
-
-
- .pa
- <F1> Breakpoint Enable Single command:
-
- The <F1> B E S command will enable a permanent
- breakpoint. The breakpoint will then be active until
- disabled by a <F1> B D command or the breakpoint is taken.
-
- The user will be prompted:
-
- 'Enter breakpoint number to enable:'
-
- The responce must be a valid breakpoint number (0 thru
- 9). If not no action will be taken and an error will be
- issued. Press return only for breakpoint 0.
-
-
-
- <F1> Breakpoint Initialize command:
-
- The <F1> B I command removes (clears) all permanent
- breakpoints. To disable all breakpoints insted of clearing
- use the <F1> B D A command. To set breakpoints use the <F1>
- B S command.
-
-
-
-
- <F1> Breakpoint Set command:
-
- The <F1> B S command is used to set permanent
- breakpoints. To disable a set breakpoint use the <F1> B D
- command. To clear (remove) a breakpoint use the <F1> B C
- command. To set temporary breakpoints (or remove them) use
- the <F1> B T command or the <F10> key.
-
-
- Upon entering <F1> B S the user will be prompted:
-
- 'Enter brkpnt number [,addr [,count [,type [,cond]]]]:'
-
-
- The responce must be a valid breakpoint number (default
- is breakpoint 0) from 0 thru 9.
-
-
- The address (default is highlighted address in PROGRAM
- window) is entered as segment:offset. If the segment is
- omitted then CS: is used. If the address is does not matter
- and a certain condition is what is wanted use the <F1> P T
- command.
-
-
- The count (default is 0001) is entered as a word.
- Meaning a value from 0001h to 0ffffh. The count refers to
- how many times the address must be reached before an action
- is taken. If zero is specified then 0001 will be used.
- The type (default is Stop) is entered as a single
- character. The options are Disable, Call, Enable, and Stop.
-
- The Disable type must be followed by a breakpoint
- number to be disabled upon break.
-
- The Call type must be followed by an address of a user
- routine to be called upon break.
-
- The Enable type must be followed by a breakpoint number
- to be enabled upon break.
-
- The Stop type simply stops the program upon break.
-
-
- The condition (default is none) may be specified so
- that the breakpoint will do it's action only if the
- specified condition is true. See condition expressions in
- the expressions sections for details.
-
-
-
- <F1> Breakpoint Temporary command:
-
- The <F1> B T command will toggle a temporary
- breakpoint. The current highlighted address in the PROGRAM
- window will be toggled set and reset.
-
- If a temporary breakpoint is set an asterisks (*) will
- be displayed to the right of the address.
-
- The <F10> key has the same function.
-
- When a breakpoint (permanent or temporary is taked)
- all temporary breakpoints are reset.
-
- Up to ten temporary breakpoints may be set at a time.
- .pa
- >>> DISK <<<
-
-
-
-
-
- Raid has extensive disk commands. Disk I/O can be done
- using physical sectors, logical sectors or files.
-
- Features to load a program for debugging and
- disassembling a file to disk are also included.
-
-
- File specification may include full path specification
- except for the disk disassembler.
-
-
- Sectors may be specified as relative or as head, track,
- and sector. Relative is refers to as logical. Head, track,
- and sector is a physical specification.
-
-
- Extensive error trapping is used incase of an I/O
- error. Hardware problems are displayed in an easy to
- understand manner. Software problems or DOS failures are
- displayed in the following form:
-
- <error that occured> failure occured at <address>
- Interrupt xxh, function xxh
- Device: x:, Device header is at <address>
-
- Abort, Ignor, or Retry?
-
- In responce to the above:
-
- Abort: Return to raid
- Ignor: Continue with error
- Retry: Try function again
-
-
- Use the <F1> D G and <F1> D P commands for sector disk
- I/O. These commands use logical or physical sector
- numbering.
-
-
- For file I/O use the <F1> D N command to specify a file
- and <F1> D R to read and <F1> D W to write it.
-
-
- To load a(nother) program for debugging use the <F1> D
- L command.
-
-
- To disassemble a file to disk use the <F1> D D command.
- <F1> Disk Disassemble command:
-
-
- The <F1> D D command disassembles a program to a disk
- file.
-
-
- If symbols are defined they will be used in the
- disassemble.
-
-
- See program window in the windows sections for more
- details on the disassembler.
-
-
- The user will be prompted:
-
- 'Enter filename.ext [,starting address [,count]]:'
-
- Enter a file specification for the output to be named.
- Paths are not accepted.
-
- The starting address (default is CS:IP) is where the
- disassemble will start. The address is entered as
- segment:offset. If the segment is omitted then CS: will be
- used.
-
- The count is entered as a word from 1 to 0ffffh. If the
- count is omitted then the count will default to the size of
- the last file loaded for debugging.
-
- It is possible for a few more bytes to be disassembled
- than specified. If the byte count is reached mid-instruction
- then the count will go over because that instruction will be
- completly disassembled.
-
-
- (Example output)
- .pa
- <F1> Disk Get Logical command:
-
- The <F1> D G L command will read one or more sectors
- from the disk into memory.
-
-
- For disk editing sectors can be read in, edited using
- the DATA window, and wrote back using the <F1> D P L
- command.
-
-
- If specifing head, track, and sector is more desirable
- use the <F1> D G P command.
-
-
- The user will be prompted:
-
- 'Enter address, sector, count, drive:'
-
- The address is entered as segment:offset. If the
- segment is not specified then DS: is used.
-
- The sector is a 'relative sector' number. Meaning that
- all sectors on the disk are numbered sequential. For example
- physical sector: track 0, sector 1, head 0 is relative
- sector: sector 0.
-
- The count is a word that refers to how many sectors are
- to be sequentially read into memory.
-
- The drive is entered as a single character optionally
- followed by a colon refering to the drive name. For example:
- A:.
-
-
-
- <F1> Disk Get Physical command:
-
- The <F1> D G P command will read one or more sectors
- from the disk into memory.
-
-
- This command is identical to the <F1> D G L command
- except that sectors are specified by head, track, and sector
- rather that relative sectors.
-
-
- The user will be prompted:
-
- 'Enter address, head, track, sector, count, drive:'
-
- The syntax is the same as the <F1> D G L command except
- the head and track values must be entered.
-
-
- <F1> Disk Load command:
-
- The <F1> D L command load a file for debugging.
-
-
- If a .SYM file is found in the same path with the same
- filename then it is loaded into the symbol table. If the
- .SYM file is not a RAID .SYM file it may cause problems. To
- remove an invalid .SYM file use the <F1> P S I command.
-
-
- Path and drive specifications are valid.
-
-
- Extentions (Even if .COM or .EXE) must be specified.
-
-
- .EXE files are detected by a valid .EXE format not the
- extention name itself.
-
-
- The size of the file is saved for the default count
- when using the <F1> D W command.
-
-
- The file specification is saved for the default name
- used for the <F1> D R and <F1> D W commands. This can be
- changed with the <F1> D N command.
-
-
- Window pointers are set to: BREAKPOINT=0, DATA=DS:0,
- PROGRAM=CS:IP, and STACK=SS:SP.
-
-
- For .COM files IP=0100h, SP=0FFFEh, CS=DS=ES=SS, and 0
- is pushed on the stack.
-
-
- For .EXE files all values are passed from the linker.
- Ones that are not are computed so the .EXE file will run
- properly under raid. All relocation is taken care of as
- well.
-
-
- A program segment prefix is always built.
-
-
- The user will be prompted:
-
- 'Enter file specification to load:'
-
- A file specification (paths may be included) must be
- entered. If the file is not found or an error occurs the
- user will be informed.
-
- <F1> Disk Name command:
-
- The <F1> D N command is used to specify a file
- specification to be used with the <F1> D R and <F1> D W
- commands.
-
- Full path specification may be used or a device name.
- For example: lpt1
-
- If the file is not found it is created.
-
-
-
- <F1> Disk Put Logical command:
-
- The <F1> D P L command will write one or more sectors
- from memory to disk.
-
- USE EXTREME CAUTION USING THIS COMMAND ANY PLACE ON THE
- DISK MAY BE DESTROYED IF THE USER WRITES IN THE WORNG PLACE!
-
- The user will be prompted:
-
- 'Enter address, sector, count, drive:'
-
- The address is entered as segment:offset. If the
- segment is omitted then DS: is assumed.
-
- The sector is a relative sector number. (See <F1> D G L
- command for the definition of a relitive sector).
-
- The count refers to a word that specifies the number of
- sectors to be written.
-
- The drive is entered as a single character optionally
- followed by a colon refering to the drive name. For example:
- A:.
-
-
-
- <F1> Disk Put Physical command:
-
- The <F1> D P P command will write one or more sectors
- from the disk into memory.
-
- The command is identical to the <F1> D P L command
- except that sectors are specified as head, track, and sector
- rather than relative sectors.
-
- The user will be prompted:
-
- 'Enter address, head, track, sector, count, drive:'
-
- The syntax is the same as the <F1> D P L command except
- the head and track values must be entered.
- <F1> Disk Read command:
-
- The <F1> D R command reads data into memory from a DOS
- file.
-
- The file specification to read must have been specified
- using the <F1> D N command. If no previous <F1> D N command
- has issued then the name of last read or loaded file is
- used. If no file has been loaded or read then 'RAIDFILE.COM'
- is used. Device input is doe if a device was specified with
- the <F1> D N command.
-
- The user is prompted:
-
- 'Enter address [, count [,offset]]:'
-
- The address is entered as segment:offset. If the
- segment is omitted then CS: is assumed.
-
- The count is a word that refers to how many bytes are
- to be read. If the count is not specified then the file is
- completly read.
-
- The offset is a word that refers to the starting byte
- number to be read. The default is 0 (begining of file).
-
-
-
- <F1> Disk Write command:
-
- The <F1> D W command writes data from memory to a DOS
- file.
-
- The file specification to write must have been specified
- using the <F1> D N command. If no previous <F1> D N command
- has issued then the name of last read or loaded file is
- used. If no file has been loaded or read then 'RAIDFILE.COM'
- is used. Device output is done if a device was specified in
- the <F1> D N command.
-
- The user is prompted:
-
- 'Enter address [, count [,offset]]:'
-
- The address is entered as segment:offset. If the
- segment is omitted then CS: is assumed.
-
- The count is a word that refers to how many bytes are
- to be write. If a count is not specified then the numbers of
- bytes last read or loaded is used. If no file has previously
- been loaded or read and no count is specified then a file
- with length of 0 will be written.
-
- The offset is a word that refers to the starting byte
- number to be written. The default is 0 (begining of file).
- >>> EVALUATE <<<
-
-
-
-
-
- Raid has a built in facility for evaluating
- expressions.
-
- Enter an expression followed by the <F8> key and the
- result will be displayed.
-
-
- <F1> Evalute command:
-
- The <F1> E command is used to evaluate expressions.
-
- The user will be prompted:
-
- 'Enter expression to evaluate:'
-
- The expression then must be entered followed by a
- return.
-
-
- The result is displayed in binary, decimal,
- hexadecimal, and octal.
-
- For more information see the expressions section.
- .pa
- >>> FORMAT <<<
-
-
-
-
- Raid has several formats available for ease in use.
-
-
- Formats are divided into Data and Radix types.
-
-
- The Data types effect the data window display format.
- The data in the window can be shown as addresses, bytes,
- long intergers, or words.
-
- Forms: Address 7856:3412
- Byte 12 34 56 78
- Long 78563412
- Word 3412 7856
-
-
- The Radix types effect the disassembler output of
- immediate operands. Immediate operands can be displayed in
- binary, decimal, hexadecimal, or octal.
-
-
-
- <F1> Format Data Address command:
-
- The <F1> F D A command changes the data window format
- to display and accept data in address form.
-
-
-
- <F1> Format Data Byte command:
-
- The <F1> F D B command changes the data window format
- to display and accept data in byte form.
-
-
-
- <F1> Format Data Long command:
-
- The <F1> F D L command changes the data window format
- to display and accept data in long interger form. Data
- must be entered as addresses under this format.
-
-
-
- <F1> Format Data Word command:
-
- The <F1> F D W command changes the data window format
- to display and accept data in word form.
-
-
- <F1> Format Radix Binary command:
-
- The <F1> F R B command causes the disassembler to
- display immediate operands in binary. Note: Due to leading
- zero supression size of operand must be determined by bytes
- disassembled.
-
-
-
- <F1> Format Radix Decimal command:
-
- The <F1> F R D command causes the disassembler to
- display immediate operands in decimal. Note: Due to leading
- zero supression size of operand must be determined by bytes
- disassembled.
-
-
-
- <F1> Format Radix Hexadecimal command:
-
- The <F1> F R H command causes the disassembler to
- display immediate operands in hexadecimal. Byte values will
- be displayed as two digits and words will be displayed as
- four digits.
-
-
-
- <F1> Format Radix Octal command:
-
- The <F1> F R O command causes the disassembler to
- display immediate operands in octal. Note: Due to leading
- zero supression size of operand must be determined by bytes
- disassembled.
- .pa
- >>> IO <<<
-
-
-
-
-
- Raid allows the user to input from and output to any 8
- or 16 bit port.
-
- Raid also allow a user to input from and output a
- device. To do device I/O specify a device (LPT1, COM2,...)
- with the <F1> D N command. To output to a device then use
- the <F1> D W command. To input from a device use the <F1> D
- R command. Note: NO colon follows the device name!
-
-
-
- <F1> Io Input command:
-
- The <F1> I I command allows a user to read 16 bits
- ports. Is a count is specified the starting port address
- is displayed followed by the port contents and the contents
- of every successive port address for the count. The
- information will be displayed on the display line.
-
- The user will be prompted:
-
- 'Enter I/O port address, optional count:'
-
- The I/O port address is a hardware I/O port address
- between 0 and 0ffffh.
-
- The optional count defaults to 1. If the specified
- count is too large to fit on the display line the data will
- be truncated.
-
-
-
- <F1> Io Out command:
-
- The <F1> I O command writes words to successive
- addresses. Or of course a word to an address.
-
- The user will be prompted:
-
- 'Enter I/O port address, word list:'
-
- The I/O port address is a hardware I/O port address
- between 0 and 0ffffh.
-
- The word list is the data to be output to the port(s).
-
- Example:
- 27,34c7 ;port 27=34c7
- 38,1234,565d ;port 38=1234, port 3a=565d
- <F1> Io Read command:
-
- The <F1> I R command allows a user to read 8 bits
- ports. Is a count is specified the starting port address
- is displayed followed by the port contents and the contents
- of every successive port address for the count. The
- information will be displayed on the display line.
-
- The user will be prompted:
-
- 'Enter I/O port address, optional count:'
-
- The I/O port address is a hardware I/O port address
- between 0 and 0ffffh.
-
- The optional count defaults to 1. If the specified
- count is too large to fit on the display line the data will
- be truncated.
-
-
-
- <F1> Io Write command:
-
- The <F1> I W command writes bytes to successive
- addresses. Or of course a byte to an address.
-
- The user will be prompted:
-
- 'Enter I/O port address, byte list:'
-
- The I/O port address is a hardware I/O port address
- between 0 and 0ffffh.
-
- The byte list is the data to be output to the port(s).
-
- Example:
-
- 27,34 ;port 27=34
- 38,12,56 ;port 38=12, port 39=56
-
-
- .pa
- >>> MEMORY <<<
-
-
-
-
- Raid has facilitys for dealing directly with memory.
- The features include clearing a portion of memory (<F1> M C
- command), finding a pattern in memory (<F1> M F command),
- moving a block of data in memory (<F1> M M command), and
- setting a pattern in memory (<F1> M S command).
-
-
-
- <F1> Memory Clear command:
-
- The <F1> M C command clears a range of memory. Starting
- at a specfied address all bytes are set to 0 for the count
- specified.
-
- The user is prompted:
-
- 'Enter starting address, number of bytes to clear:'
-
- The starting address is the byte to be cleared.
-
- The number of bytes to clear is just that.
-
- Example:
- 100,100 would clear 100h thru 1FFh
-
-
-
- <F1> Memory Find command:
-
- The <F1> M F command finds a specific byte or byte
- pattern in memory.
-
- The user is prompted:
-
- 'Enter starting address, count, data byte(s):'
-
- The starting address specifies the first location to
- look for the pattern.
-
- The count is how many successive locations to search.
-
- The data bytes is a byte list refering to the pattern
- to be found.
-
- Example:
- 100,1000,'t','e','s','t',0d,0a
-
- Searches for 'test' followed by a
- carriage return-line feed starting at
- address 100h for 1000h bytes.
- <F1> Memory Move command:
-
- The <F1> M M command copies a block of data from one
- section of memory to another. Care must be taken that the
- blocks do not overlap unless a repeated pattern is to be
- stored. If that is the case use the <F1> M S command.
-
- The user will be prompted:
-
- 'Enter source address, count, destionation address:'
-
- The source address is specified as segment:offset. If
- the segment is omitted it will default to DS:.
-
- The count is the number of bytes to be copied.
-
- The destionation address is specified as
- segment:offset. If the segment is omitted then DS: is
- assumed.
-
- Example:
- 1000,3cb,4500
- 3cbh bytes will be copied from 1000h to 4500h.
-
-
-
- <F1> Memory Set command:
-
- The <F1> M S command sets a range of memory to
- specified byte pattern.
-
- The user will be prompted:
-
- 'Enter starting address, count, data byte(s):'
-
- The starting address specifies what address to start
- placing the specified pattern. It is entered as
- segment:offset. If the segment is ommitted then DS: is
- assumed.
-
- The count specifies how many times the pattern is to be
- stored.
-
- The data byte(s) refers to a byte list that specifies
- the pattern to be stored.
- .pa
- >>> PROGRAM <<<
-
-
-
-
- Raid has various way of executing a program. The
- program can be started at a specified address (<F1> P G).
- The program can be (re)started at the current CS:IP (<F1> P
- R). The program can be traced instruction at a time or until
- a specified condition has occured (<F1> P T). Or the program
- can be proceeded thru (<F1> P P). Proceeding is just like
- tracing except CALLs, INTerrupt, LOOPs, ect are not traced.
-
- There is also a facility for entering arguments to a
- program to use as if they were entered on the command line.
-
- There is a symbol submenu for manipulating program
- symbols.
-
-
-
- <F1> Program Arguments command:
-
- The <F1> P A command is used to enter a command line to
- the program. This line should be entered as arguments that
- would normally follow the program name. Program arguments
- may be specified after the program name to load in the raid
- command line.
-
- The command line is placed at DS:0080. and FCBs 5C and
- 6C are set.
-
- The user will be prompted:
-
- 'Enter command line:'
-
- The command line should be entered followed by a
- return.
-
-
-
- <F1> Program Go command:
-
- The <F1> P G command starts a program executing at a
- specfied address.
-
- The user will be prompted:
-
- 'Enter starting address:'
-
- The starting address refers to where program execution
- is to begin. The address is specified as segment:offset. If
- the segement is omitted then CS: is assumed
- .pa
- <F1> Program Proceed command:
-
- The <F1> P P command will trace a program one
- instruction at a time. The difference from this and tracing
- is that certain intructions are skipped. This avoids
- stepping thru a loop several times or thru a call that is
- known to work.
-
- The following instructions are skipped:
-
- CALL
- INT
- LOOP
- LOOPNZ / LOOPNE
- LOOPZ / LOOPE
- REP (and following intruction)
- REPZ / REPE (and following instruction)
-
- The <F6> key has the same function as <F1> P P.
-
-
-
- <F1> Program Restart command:
-
- The <F1> P R command restarts the program at the
- current instruction pointer (CS:IP). When a program is first
- loaded this command can be used to execute it from the
- starting address.
-
- The <F7> key has the same function as <F1> P R.
-
-
-
- <F1> Program Symbol Add command:
-
- The <F1> P S A command adds a symbol to the symbol
- table. Once a symbol is added it will be honored by the
- disassembler and may be used in expressions.
-
- If the symbol already exist it will be replaced by the
- new values entered.
-
- The user will be prompted:
-
- 'Enter symbol name, address [,type [,size]]:'
-
- The symbol name is any character string (Up to 9
- characters). Note: all characters are valid except ',' and a
- space.
-
- The address is entered as segment:offset. If the
- segment is omitted then CS: is assumed.
-
- The type is an optional single character refering to
- what type of symbol is to be defined. The default is Label.
- Symbol types:
-
- B For byte DB
- C For constant EQU
- L For label x:
- T For text DB 'x'
- W For word DW
-
- Note: The disassembler takes types into account
- for a more acurate disassemble.
-
-
- The size is a word that refers to how long the symbol
- field is.
-
- Examples:
-
- FOO,CS:1234 ;Label FOO: at CS:1234
-
- APPLE,27,B,10 ;APPLE at CS:27 is data
- ;in bytes for 10 bytes
-
-
-
- <F1> Program Symbol Initialize command:
-
- The <F1> P S I command initializes the symbol table.
- All symbols are erased.
-
-
-
- <F1> Program Symbol List command:
-
- The <F1> P S L command displays the symbol table. To do
- this the normal raid windows will be replaced by a symbol
- window. The escape key will bring them back.
-
- Symbols are displayed in alphabetic order.
-
- The PgDn and PgUp keys may be used to scroll the
- window. The display can be positioned to the first symbol
- starting with a specified letter by typing the letter.
-
- If more than 23 symbols are defined the symbols are
- displayed in two columns.
-
- Display example:
-
- FOOBAR 1EC5:023B Label
- FOODATA 1EC5:43CB Byte Length=12
- .pa
- <F1> Program Symbol Read command:
-
- The <F1> P S R command reads a .SYM file into the
- symbol table. The .SYM file must have been created with the
- <F1> P S W commands or the MAP2SYM utility.
-
- Any existing symbols in the symbol table will be
- detroyed when the symbol file is loaded.
-
- The user will be prompted:
-
- 'Enter file name:'
-
- A file name must be specified. Full path
- specification may be used. A symbol file does not have to
- have a .SYM extension so extension must be specified even if
- it's .SYM.
-
- If a .SYM file exist with the same name as the
- program loaded for debugging it is automatically loaded into
- the symbol table.
-
-
-
- <F1> Program Symbol Write command:
-
- The <F1> P S W command write the symbol table to a
- file. The specified extension should be .SYM so the symbols
- will automatically be loaded in future debugging sessions.
- The symbol file can be reloaded using the <F1> P S R
- command.
-
- The user will be prompted:
-
- 'Enter file name:'
-
- A file name must be specified. Full path specification
- may be used.
-
- If the file already exist it will be overwritten.
- .pa
- <F1> Program Symbol Trace command:
-
- The <F1> P S T command traces a program one instruction
- at a time. It can also execute a specified number of
- instructions before breaking execution. Optionally a
- condition may be specified to break execution on.
-
- The <F5> key will trace one instruction at a time.
-
- When the <F5> key is used and the screen is in update
- mode there may be a flicker. The screen will flicker if the
- instruction to be executed could possibly effect the screen.
- If not no flicker will occur.
-
- When a condition is specified you have an option of
- 'watching the program run'. To do this put the screen in
- nonupdate mode. All program output will overwrite the raid
- screen. When command mode is resumed press the <F9> key
- twice if the display needs to be restored.
-
- When a program is being traced the escape key will stop
- program tracing.
-
- When tracing for a condition the screen update flag can
- be toggled using the <F9> key. This is NOT advised.
-
- The screen mode (update/nonupdate) can be set using the
- <F1> S U and <F1> S N commands respectivly.
-
-
- The user will be prompted:
-
- 'Enter number of instructions to execute [,cond]:'
-
- If just return is pressed one instruction is exectued.
- The <F5> key is recommended for single instruction
- execution.
-
- The number of instructions to execute is just that. A
- word from 0 to 0ffffh may be specified.
-
- The cond is what condition the program is stop at. If a
- conditional trace feature is needed use for example: CX<>CX.
- This condition will never occur so only the count will be
- valid but conditional features may be used. For information
- on condition see conditional expressions in the expressions
- section.
- .pa
- >>> QUIT <<<
-
-
-
-
-
- When leaving raid all memory is freed, all interrupt
- vectors are restored, and the application screen is
- restored.
-
- If raid was invoked with a '+r' option then all memory
- will be freed except for what raid needs and interrupt
- vectors are NOT restored.
-
-
- <F1> Quit No command:
-
- The <F1> Q N command cancels the exit of raid to DOS in
- case the user really does not want to exit.
-
-
-
- <F1> Quit Yes command:
-
- The <F1> Q Y command exit from raid to DOS.
- .pa
- >>> SCREEN <<<
-
-
-
-
-
- Raid keeps the application screen seperate from its
- own. If two screens are available raid can run on one and
- the application program on the other. If using only one
- screen it will be shared by multiplexing raid and
- application screens. There is also a faciltiy for saving the
- application screen as a BLOAD (BASIC command) file.
-
-
-
- <F1> Screen Application command:
-
- The <F1> S A command displays the application screen to
- return to the raid screen press any key. The application
- will be updated as the program runs if the screen update is
- on (<F1> S U).
-
- The <F9> key has the same function.
-
-
-
- <F1> Screen Color command:
-
- The <F1> S C command forces raid to use a color
- display.
-
-
-
- <F1> Screen Monochrome command:
-
- The <F1> S M command forces raid to use a monochrome
- display.
-
-
-
- <F1> Screen Nonupdate command:
-
- The <F1> S N command causes raid not to keep track of
- screen changes made by the program currently running. This
- is useful for the <F1> P T command or if raid is for example
- using the color display and the application the monochrome.
-
-
-
- <F1> Screen Save command:
-
- The <F1> S S command writes the application screen to
- disk in a format so it can be load from BASIC with the BLOAD
- command.
-
- <F1> Screen Update command:
-
- The <F1> S U command causes raid to keep track of the
- changes made to the application screen. During tracing
- instructions that could effect the screen there will be a
- short flicker. To view the application screen use the <F9>
- key or the <F1> S A command.
- .pa
- >>> TRACE <<<
-
-
-
-
-
- Raid has a facility for tracing interrupts. Normally
- interrupts are not traced. With the trace facility ranges of
- interrupts may be set to trace. Interrupts 0, 1, 3, 6, 8, 9,
- and 20 cannot be traced because raid takes these over. When
- tracing interrupt 21 (DOS call) there will be an extra step
- checking for an exit function. After this interrupt 21 is
- vanilla.
-
-
-
- <F1> Trace Clear command:
-
- The <F1> T C command disables an interrupt or range of
- interrupts to trace.
-
- The user will be prompted:
-
- 'Enter low INT range [, high INT range]:'
-
- In response the user may enter a hexadecimal
- number of an interrupt not to trace, or two values may
- be entered to specify a range of interrupts not to be
- traced.
-
-
-
- <F1> Trace Disable command:
-
- The <F1> T D command disables all interrupt tracing.
- The is raids default. To trace a particular interrupt range
- use the <F1> T S command. To enable all interrupt tracing
- use the <F1> T E command.
-
-
-
- <F1> Trace Enable command:
-
- The <F1> T E command enables all interrupt tracing.
- Except of course the ones that cannot be traced. To disable
- a certain interrupt or range of interrupts use the <F1> T C
- command. To disable all interrupt tracing use the <F1> T D
- command.
- .pa
- <F1> Trace Set command:
-
- The <F1> T S command enable an interrupt or range of
- interrupts to trace.
-
- The user will be prompted:
-
- 'Enter low INT range [, high INT range]:'
-
- A hexadecimal value may be entered to enable an
- interrupt. Two values may be specified to enable a range of
- interrupts. Interrupts specified that are not allowed to be
- traced will be ignored. If for example '2,5' were entered
- interrupts 2, 4, and 5 would be enabled. Not 3 because raid
- uses it for breakpoints.
- .pa
- >>> WINDOW <<<
-
-
-
-
-
- Information on windows is in the windows chapter. The
- following are descriptions of the window commands.
-
-
-
- <F1> Window Address command:
-
- The <F1> W A command sets the orgin address of the
- current window. An address entered followed by the <F2> key
- has the same effect.
-
- The user will be prompted:
-
- 'Enter address:'
-
- In the DATA, PROGRAM, and STACK windows full
- memory address may be specified. If the segment is
- omitted DS, CS, and SS are used respectivly.
-
- In the BREAKPOINT window a breakpoint number must
- be specified.
-
- In the CPU window this command issues an error
- message.
-
-
-
- <F1> Window Change Breakpoint command:
-
- The <F1> W C B command makes the BREAKPOINT window
- active. CTRL-B has the same effect. For more information see
- the breakpoint window section in the windows chapter.
-
-
-
- <F1> Window Change Cpu command:
-
- The <F1> W C C command makes the CPU window active.
- CTRL-C has the effect. For more information see the cpu
- window section in the windows chapter.
-
-
-
- <F1> Window Change Data command:
-
- The <F1> W C D command makes the DATA window active.
- CTRL-D has the same effect. For more information see the
- data window section in the windows chapter.
-
- <F1> Window Change Program command:
-
- The <F1> W C P command makes the PROGRAM window active.
- CTRL-P has the same effect. For more information see the
- program window section in the windows chapter.
-
-
-
- <F1> Window Change Stack command:
-
- The <F1> W C S command makes the STACK window active.
- CTRL-S has the same effect. For more information see the
- stack window section in the windows chapter.
-
-
-
- <F1> Window Exchange command:
-
- The <F1> W E command will change from hexadecimal to
- text mode in the DATA window. In the STACK window it will
- reverse the direction. In other windows this has no
- function. The <F3> key has the same effect.
- .pa
- >>> SUMMARY OF COMMANDS <<<
-
-
-
-
-
- Command Description
- ======= ===========
-
- Breakpoint Clear Clear a breakpoint
-
- Breakpoint Disable All Disable all breakpoints
-
- Breakpoint Disable Single Disable a breakpoint
-
- Breakpoint Enable All Enable all breakpoints
-
- Breakpoint Enable Single Enable a single breakpoint
-
- Breakpoint Initialize Clear all breakpoints
-
- Breakpoint Set Set a breakpoint
-
- Breakpoint Temporary Toggle temporary breakpoint
-
- Disk Disassemble Disassemble program to a file
-
- Disk Get Logical Read a logical sector
-
- Disk Get Physical Read a physical sector
-
- Disk Load Load a program for debugging
-
- Disk Name Specify a file name
-
- Disk Put Logical Write a logical sector
-
- Disk Put Physical Write a physical sector
-
- Disk Read Read a file
-
- Disk Write Write a file
-
- Evaluate Evaluate an expression
-
- Format Data Address Data in address format
-
- Format Data Byte Data in byte format
-
- Format Data Long Data in long format
-
- Format Data Word Data in word format
-
- Format Radix Binary Display operands in binary
-
- Format Radix Decimal Display operands in decimal
-
- Format Radix Hexadecimal Display operands in hex
-
- Format Radix Octal Display operands in octal
-
- I/o In Read word(s) from port(s)
-
- I/o Out Write word(s) to port(s)
-
- I/o Read Read byte(s) from port(s)
-
- I/o Write Write byte(s) to port(s)
-
- Memory Clear Clear range of memory
-
- Memory Find Find pattern in memory
-
- Memory Move Copy a memory block
-
- Memory Set Place a pattern in memory
-
- Program Arguments Enter command line
-
- Program Go Execute start at an address
-
- Program Proceed Trace, skipping loops
-
- Program Restart Continue execution
-
- Program Symbol Add Add a symbol to the table
-
- Program Symbol Initialize Clear symbol table
-
- Program Symbol List Display symbol table
-
- Program Symbol Read Read symbol table from disk
-
- Program Symbol Write Write symbol table to disk
-
- Program Trace Execute a single instruction
-
- Quit No Cancel quit command
-
- Quit Yes Exit from raid to DOS
-
- Screen Application Display application screen
-
- Screen Color Use color display
-
- Screen Monochrome Use monochrome display
-
- Screen Nonupdate No application screen update
-
- Screen Save Save user screen to a file
- Screen Update Update application screen
-
- Trace Clear Disable range of interrupt
- tracing
-
- Trace Disable Disable all interrupt tracing
-
- Trace Enable Enable all interrupt tracing
-
- Trace Set Set range of interrupt tracing
-
- Window Address Set orgin address of window
-
- Window Change Breakpoint Select breakpoint window
-
- Window Change Cpu Select cpu window
-
- Window Change Data Select data window
-
- Window Change Program Select program window
-
- Window Change Stack Select stack window
-
- Window Exchange Select other window function
-
- <ESC> Display funtion key setting or
- exit from command tree.
-
- <F1> Issue a command
-
- <F2> Set window address
-
- <F3> Window exchange
-
- <F4> Change window
-
- <F5> Execute single intruction
-
- <F6> Trace, skipping loops
-
- <F7> Continue execution
-
- <F8> Evaluate expression
-
- <F9> Show application screen
-
- <F10> Toggle temporary breakpoint
-
- CTRL-B Select breakpoint window
-
- CTRL-C Select cpu window
-
- CTRL-D Select data window
-
- CTRL-E Display last error message
- CTRL-N Set IP to current item address
-
- CTRL-P Select program window
-
- CTRL-S Select stack window
-
- <5> on pad (no numlock) Break program execution
-
- .pa
- >>> MESSAGES <<<
-
-
-
-
-
- ? Access denied
-
- This is a DOS error meaning the wanted file
- cannot be accessed.
-
-
- ? Attempt to divide by zero
-
- An expression was entered that attempted to
- divide by zero. For example if BX=0 and SI/BX is
- entered as an expession.
-
-
- Bad FAT image
-
- A bad File Allocation Table was detected on a
- disk.
-
-
- Bad req strc len
-
- A bad request structure length was specified.
-
-
- ? Bad sector - CRC failed
-
- The CRC for a sector was wrong. This means
- the data in the sector is not valid.
-
-
- *** BREAKPOINT x ***
-
- This message is issued when raid is restarted
- after a program breakpoint is reached. The x is
- replaced by the breakpoint number or ? if the
- breakpoint reached was not defined by raid.
-
-
- Bytes read from disk = x
-
- After a disk read this message displays the
- number of bytes read in hexadecimal.
-
-
- Cannot find pattern in memory
-
- When using the <F1> M F command the pattern
- was not found.
-
- ? Cannot set breakpoint
-
- A breakpoint was attempted to be set in ROM
- or non-existent memory. This error can also be
- caused by faulty memory.
-
-
- ? Cannot use register twice in address
-
- An attempt to assemble a memory reference
- that used an index register twice. This can be
- done in expressions but not assembled since the
- 8086 processor does not support this.
-
-
- Character device error
-
- A ROM error occured when trying to
- communicate to a character device. (lpt, com,...).
-
-
- ? Close failed - dir entry lost
-
- A DOS error occured when trying to close a
- file. If this occurs the file written will not
- contain any new information.
-
-
- >>> Condition true: x <<<
-
- A waited for condition occured. This will be
- displayed when tracing a program till a condition.
-
-
- ? Condition truncated - Too big
-
- The condition entered was too long.
- Conditional breakpoint conditions are limited to
- 15 characters.
-
-
- ? CPU flags must be 0 or 1 only
-
- An attempt was made to enter a value other
- than 0 or 1 in a CPU flag field.
-
-
- ? CPU window has no address
-
- An attempt was made to set the orgin address
- of the CPU window which has no addresses.
-
- .pa
- Data error
-
- The ROM detected a data error while doing
- I/O.
-
-
- ? Disk controller failed
-
- The ROM detected a disk controller failure.
-
-
- ? Disk is write protected
-
- An attempt to write on a write protected disk
- was made.
-
-
- ? Disk seek failed
-
- A seek error occured while reading or writing
- a disk sector.
-
-
- ? Disk timed out
-
- The disk prematurly timed out.
-
-
- ? Divide overflow, Interrupt 0
-
- The 8086 processor attempted to divide by
- zero or a divide overflow occured.
-
-
- Drive not ready
-
- The drive is not ready to be used. The door
- is not closed, ect...
-
-
- ? File not found
-
- The specified file was not found in the
- directory.
-
-
- Found pattern at location: xxxx:xxxx
-
- The <F1> M F command found the pattern. The
- program window's address is set to the location.
-
- .pa
- ? Free disk space exhasted
-
- All free space on the disk has been used. In
- other words the disk is full.
-
-
- ? Garbage after expression
-
- An expression entered was valid except for
- 'junk' entered after it.
-
-
- ? General disk I/O failure
-
- A ROM error that means the last disk I/O
- failed.
-
-
- General error
-
- A ROM error that means the last I/O failed.
-
-
- ? Immediate value out of range
-
- An immediate value was specified that was out
- of range. Example: MOV AL,3000 will cause this
- error because the largest number AL can hold is
- 0FFh.
-
-
- ? Insufficient free memory
-
- This message is issued when there is not
- enough RAM to load a program.
-
-
- ? Invalid address list
-
- The entered address list contains an
- improperly formatted entry.
-
-
- ? Invalid breakpoint number
-
- A breakpoint number was specified that was
- not valid. Valid breakpoint numbers are 0 thru 9.
-
-
- ? Invalid breakpoint type
-
- A breakpoint type was specified other that
- Call, Disable, Enable, or Stop.
-
-
- ? Invalid byte list
-
- The entered byte list contains an improperly
- formatted entry or an entry that exceeds 0ffh.
-
-
- ? Invalid doubleword list
-
- The entered doubleword list contains an
- improperly formatted entry.
-
-
- ? Invalid op code
-
- An unrecognized op code was attempted to be
- assembled.
-
-
- ? Invalid operand specified
-
- The operand specified for the op code is
- invalid. Note: 8087/80287 op codes are not
- supported, they must be entered as escape
- sequences.
-
-
- ? Invalid path
-
- The path specified in a file specification
- was not found.
-
-
- ? Invalid symbol type
-
- A symbol type other than Byte, Constant,
- Label, Text, or Word was specified.
-
-
- ? Invalid word list
-
- The entered word list contains an improperly
- formatted entry.
-
-
- *** Manual break from keyboard ***
-
- The <5> key without numlock was pressed while
- a program was running. Doing this interrupts
- program execution.
-
- .pa
- ? Missing closing brace }
-
- An opening brace was encountered without a
- closing brace.
-
-
- ? Missing closing bracket ]
-
- An opening bracket was encountered without a
- closing bracket.
-
-
- ? Missing closing parenthesis )
-
- An opening parenthesis was encounted without
- a closing parenthesis.
-
-
- ? Missing closing quote
-
- A literal was entered without a closing
- quote.
-
-
- ? Missing operand
-
- The op code to be assembled required more
- operands then were specified.
-
-
- ? No directory space available
-
- The directory is full and can hold no more
- file entrys.
-
-
- Out of paper
-
- The printer is out of paper.
-
-
- >>> Please wait for disk access(es) <<<
-
- Raid is accessing disk.
-
-
- >>> Please wait for memory access(es) <<<
-
- Raid is accessing RAM.
-
-
- * PROGRAM ABORT - Fatal error *
-
- A fatal DOS error was encounter and the Abort
- option was entered.
- * Program loaded *
-
- The specified program was successfully
- loaded.
-
-
- * Program terminated normally *
-
- The program terminated with a normal exit.
-
-
- Raid vx.x at your service...
-
- Raid and optional files are loaded and ready
- for use.
-
-
- Read fault
-
- ROM detected a read fault.
-
-
- ? Relative address out of range
-
- A relative address was entered that was out
- of the -128 to +128 byte range.
-
-
- ? Sector not found
-
- The specified sector does not exist or could
- not be found.
-
-
- Seek error
-
- The ROM detected a disk seek error while
- trying to read or write a sector.
-
-
- ? Symbol table empty
-
- An attempt was made to display a non-existant
- symbol table.
-
-
- ? Symbol table full
-
- The symbol table is full and can hold no more
- entries.
-
- .pa
- ? Syntax error
-
- A general syntax occured. This happens when a
- sequence is expected to be entered and is not.
-
-
- *** TEMPORARY BREAKPOINT ***
-
- This is displayed when the program breaks on
- a temporary breakpoint.
-
-
- ? Too many temporary breakpoints
-
- An attempt was made to define more than ten
- temporary breakpoints.
-
-
- *** TRACE ***
-
- This means the program broke after executing
- a trace.
-
-
- ? Undefined OPcode, Interrupt 6
-
- The 80286 attempted to execute an invalid
- instruction.
-
-
- Unknown command
-
- ROM returned an unknown command error.
-
-
- Unknown media
-
- ROM returned an unknown media error.
-
-
- Unknown unit
-
- ROM returned an unknown unit error.
-
-
- Write fault
-
- ROM returned a write fault error.
-
-
- Write protected
-
- ROM returned a write protect error meaning an
- attempt was made to write on a write protected
- disk.